/**
 * 用于 消息框 模块
 * title: 标题  body 说明内容  footer 按钮
 * 
 */
const Pager = require('../../components/aotoo/core/index')
const lib = Pager.lib

const adapter = (params) => {
  const className       = params.itemClass || ''
  const contentClass    = params.contentClass || ''
  const text            = params.stateText || '标题'                             // 标题，默认空 可传入 支持string 
  const desc            = params.stateDesc || ''                                // 辅助说明，默认值为空 可传入  支持 string 对象 数据 三种形式

  const btn             = params.btn || false                                   // 控制是否显示按钮
  const btnConfirm      = params.btnConfirm || false                            // 是否显示【确定】按钮
  const btnConfirmText  = params.btnConfirmText || '确定'                       // 控制【确定】按钮文字， 默认确定
  const ConfirmLink     = params.ConfirmLink || false                          //【确定】按钮 直接指定跳转页面路径
  const ConfirmCbName   = params.ConfirmCbName || false                        //【确定】按钮 直接返回方法名称，方法写在业务上 注意：如果返回方法，默认的ConfirmLink就失效
  const btnCancel       = params.btnCancel || false                            // 是否显示【取消】按钮
  const btnCancelText   = params.btnCancelText || '取消'                        // 控制【取消】按钮文字， 默认取消
  // console.log(stateDesc, 'desc')
  return {
    title: {
      title: text,
      itemClass: 'item-title'
    },
    body: typeof desc === 'string' ? [{title: desc}]
      : typeof desc === "object" && desc.length === undefined ? [desc]
      : desc,
    footer: btn ? [
      btnCancel ? 
      {
        title: btnCancelText,
        itemClass: btnCancel ? 'item-btn larger btn-grey' : 'item-btn larger btn-default',
        aim: 'onCancel'
      } : '',
      btnConfirm ? 
      {
        title: btnConfirmText,
        itemClass: 'item-btn larger btn-default',
        aim: ConfirmCbName ? ConfirmCbName : 'onJumpOther?link='+ConfirmLink
      } : '',
    ] : [],
    bodyClass: ('item-desc ' + contentClass),
    footerClass: btn ? 'item-btns' : '',
    itemClass: ('modal-box ' + className),
    closeBtn: params.closeBtn
  }
}

module.exports = function(params={}) {
  return {
    ...adapter(params),
    itemMethod: {
      onJumpOther() {
        console.log("跳转页面")
      },
      onCancel() {
        console.log('默认关闭弹出层')
      }
    }
  }
}
